# -*- coding: utf-8 -*-
import json

from method import *
import requests,json

def login():
    url = read_yaml(0, '登录')['url']
    headers = read_yaml(0, '登录')['headers']
    data = read_yaml(0, '登录')['data']
    expect = read_yaml(0, '登录')['expect']
    ree = send_requests(0, '登录', url, data, headers)
    a1 = json.loads(ree.text)
    token = a1['data']['token']
    return token


token=login()
def tt1(ruleNo='SBGZ20240709008'):
    url = "http://172.16.91.154/new/oa_personnel/socialSecurityConfig/detail?ruleNo=%s"%(ruleNo)
    payload = {}
    headers = {
      'Authorization': token
    }
    res = requests.request("POST", url, headers=headers, data=payload)
    res=json.loads(res.text)
    detail=res['data']['socialSecurityDetails']
    return detail

def tt2(ruleNo,base1,base2):
    detail = tt1(ruleNo)
    url = "http://172.16.91.154/new/oa_personnel/socialSecurityConfig/calculationSocialSecurity"
    data = {
            "socialSecurityBase": base1,
            "providentFundBase": base2,
            "socialSecurityDetailDTOS": detail
        }
    headers = {
      'Authorization': token,
      'content-type':'application/json'
    }
    res = requests.request("POST", url, headers=headers, data=json.dumps(data))
    res=json.loads(res.text)
    total=res['data']['companySocialSecurityAndHousingFundTotal']          #社保+公积金
    ProvidentFundTotal=res['data']['companyProvidentFundTotal']    #公积金
    SocialSecurityTotal=res['data']['companySocialSecurityTotal']  #社保
    return total,ProvidentFundTotal,SocialSecurityTotal
def rate():
    if c1 == '1':
        return 0.09
    elif c1 == '2':
        return 0.045
    elif c1 !='1' and c1!='2':
        return 0


#'毛利额=商务月单价－财经系数成本－月标准薪资－年终奖－社保公司缴纳总额-公积金公司缴纳总额－税-其他成本'
#商务月单价
a1=input('请输入商务月单价：')
a1=float(a1)
#计算财经系数成本
c=input('请输入成本系数：')
c=float(c)/100
a2=a1*c
#月标准薪资
a3=input('请输入月标准薪资：')
a3=float(a3)
#计算年终奖
c1 = input('请输入年终奖比例（1 对应 9%，2 对应 4.5%，其他 对应 0%）：')
c1=rate()
a4=a3*c1
#计算税
a5=a1/1.06*0.06+a1/1.06*0.06*0.12+a1*0.0003
#计算社保公司缴纳总额+公积金公司缴纳总额
c2=input('请输入规则编号：')
c3=input('请输入社保基数：')
c4=input('请输入公积金基数：')
toto=tt2(c2,c3,c4)
total=float(list(toto)[0])
ProvidentFundTotal=float(list(toto)[1])
SocialSecurityTotal=float(list(toto)[2])
#其他成本
a6=input('请输入其他成本：')
a6=float(a6)
#计算毛利额
b=a1-a2-a3-a4-total-a5-a6
b1=(b/a1)*100
print('毛利额是： '+str(round(b,2)))
print('毛利率是： '+str(round(b1,2))+'%')
print('财经系数成本是： '+str(round(a2,2)))
print('年终奖金额是： '+str(round(a4,2)))
print('社保公司缴纳是： '+str(round(SocialSecurityTotal,2)))
print('公积金公司缴纳是： '+str(round(ProvidentFundTotal,2)))
